Manipulation of list on a multi-touch display

ABSTRACT

Embodiments related to the manipulation of lists via a multi-touch display are disclosed. One disclosed embodiment comprises a computing device having a touch-sensitive display, a processor, and memory. The memory comprises code executable by the processor to display a scrollable list of items on the touch-sensitive display, to detect a first touch gesture over the scrollable list of items on the touch-sensitive display, and, in response, to scroll the scrollable list of items on the touch-sensitive display. The memory further comprises code executable by the processor to detect a second, multi-touch gesture over the scrollable list of items on the touch-sensitive display, and in response to adjust a displayed range of the scrollable list of items.

BACKGROUND

Computing devices may present lists of items to a user via a scrollablelist on a graphical user interface. For lists containing large numbersof items, various methods have been used to allow users to scrollthrough such lists quickly. For example, scroll bars located adjacentsides of a displayed list may be provided to allow a user to quicklynavigate through a large list of items presented on the display bydragging a “thumb” icon along the scroll bar.

Scroll bars and similar controls were developed largely around featuresassociated with the mouse input paradigm. Recent improvements intouch-sensitive display technology have resulted in more widespread useof multi-touch displays that are capable of receiving input frommultiple temporally overlapping touch inputs. Along with the developmentof touch-sensitive displays have come user interfaces that attempt toallow displayed content to be manipulated via natural, intuitivemovements associated with the content. Because scroll bars are spatiallyseparated from the content being scrolled, the use of scroll bars in atouch-sensitive display may be less connected to the content beingmanipulated than other touch inputs supported by a multi-touch graphicaluser interface.

However, the omission of a scroll bar from a graphical user interfacemay lead to shortcomings with the use of touch inputs to manipulate theinterface. For example, in a user interface that supports scrolling via“dragging” gestures made over list items, scrolling through long listsmay be cumbersome and time-consuming without a scroll bar thumb.

SUMMARY

Accordingly, various embodiments related to the manipulation of listsvia a multi-touch display are provided. For example, in one disclosedembodiment, a computing device comprises a touch-sensitive display, aprocessor, and memory. The memory comprises code executable by theprocessor to display a scrollable list of items on the touch-sensitivedisplay, to detect a first touch gesture over the scrollable list ofitems on the touch-sensitive display, and, in response, to scroll thescrollable list of items on the touch-sensitive display. The memoryfurther comprises code executable by the processor to detect a second,multi-touch gesture over the scrollable list of items on thetouch-sensitive display, and in response to adjust a displayed range ofthe scrollable list of items.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an embodiment of a computing device including atouch-sensitive display.

FIG. 2 illustrates an embodiment of a first touch gesture beingperformed over an embodiment of a list displayed on a touch-sensitivedisplay.

FIG. 3 illustrates a movement of the list of FIG. 2 in response to theinput illustrated in FIG. 2.

FIG. 4 illustrates an embodiment of a second, multi-touch gesture beingperformed over the list of FIG. 2.

FIG. 5 illustrates an adjustment of a displayed range and zoom of thelist of FIG. 2 in response to the second, multi-touch gestureillustrated in FIG. 4.

FIG. 6 illustrates an embodiment of a first touch gesture of FIG. 1being performed over the list of FIG. 5.

FIG. 7 illustrates a movement of the re-scaled list of FIG. 5 inresponse to the input illustrated in FIG. 6.

FIG. 8 illustrates embodiments of a first touch gesture and a second,multi-touch gesture being performed in a temporally overlapping mannerover the list of FIG. 2.

FIG. 9 illustrates a movement of the list and an adjustment of adisplayed range of the list in response to the input illustrated in FIG.8.

FIG. 10 illustrates an embodiment of a method of distinguishing a firsttouch gesture and a second touch gesture.

FIG. 11 illustrates a detection of a first touch gesture.

FIG. 12 illustrates a detection of a second, multi-touch gesture.

FIG. 13 illustrates an embodiment of a second, multi-touch gesture beingperformed over an embodiment of a list of items in which each itemincludes a text field.

FIG. 14 illustrates an adjustment of the text fields of the list of FIG.13 in response to second, multi-touch gesture of in FIG. 13.

FIG. 15 illustrates an embodiment of a second, multi-touch gesture beingperformed over an embodiment of a list of items in which each item hasmultiple fields.

FIG. 16 illustrates an adjustment of the fields of the list of FIG. 15to the second, multi-touch gesture of in FIG. 15.

FIG. 17 illustrates an embodiment of a horizontally scrollable list.

FIGS. 18 and 19 illustrate an embodiment of a first touch gestureperformed on a list to increase a relative scrolling rate of the list.

FIG. 20 shows a process flow depicting a method of detecting andresponding to touch gestures on a touch-sensitive display.

DETAILED DESCRIPTION

Prior to discussing the manipulation of a list of items displayed on amulti-touch display, an embodiment of an example multi-touch displaydevice is described. FIG. 1 shows a schematic depiction of an embodimenta computing device 100 comprising a touch-sensitive display 102. Thetouch-sensitive display 102 comprises a projection display system havingan image source 104, and a display screen 106 onto which images areprojected. While shown in the context of a projection display system, itwill be appreciated that the embodiments described herein may also beimplemented with other suitable display systems, including but notlimited to LCD panel systems.

The image source 104 includes a light source 108 such as a lamp(depicted), an LED array, or other suitable light source. The imagesource 104 also includes an image-producing element 110 such as thedepicted LCD (liquid crystal display), an LCOS (liquid crystal onsilicon) display, a DLP (digital light processing) display, or any othersuitable image-producing element.

The display screen 106 includes a clear, transparent portion 112, suchas sheet of glass, and a diffuser screen layer 114 disposed on top ofthe clear, transparent portion 112. As depicted, the diffuser screenlayer 114 acts as a touch surface. In other embodiments, an additionaltransparent layer (not shown) may be disposed over diffuser screen layer114 as a touch surface to provide a smooth look and feel to the displaysurface. Further, in embodiments that utilize a LCD panel rather than aprojection image source to display images on display screen 106, thediffuser screen layer 114 may be omitted.

Continuing with FIG. 1, the touch-sensitive display 102 further includesan electronic controller 116 comprising memory 118 and a processor 120.It will be understood that memory 118 may comprise code stored thereonthat is executable by the processor 120 to control the various parts ofcomputing device 100 to effect the methods described herein.

To sense objects placed on display screen 106, the touch-sensitivedisplay 102 includes an image sensor 124 configured to capture an imageof the entire backside of display screen 106, and to provide the imageto electronic controller 116 for the detection of objects appearing inthe image. The diffuser screen layer 114 helps to avoid the imaging ofobjects that are not in contact with or positioned within a fewmillimeters of display screen 106. Because objects that are close to butnot touching the display screen 106 may be detected by image sensor 124,it will be understood that the term “touch” as used herein also maycomprise near-touch inputs.

The image sensor 124 may include any suitable image sensing mechanism.Examples of suitable image sensing mechanisms include but are notlimited to CCD and CMOS image sensors. Further, the image sensingmechanisms may capture images of display screen 106 at a sufficientfrequency to detect motion of an object across display screen 106. Whilethe embodiment of FIG. 1 shows one image sensor, it will be appreciatedthat more than one image sensor may be used to capture images of displayscreen 106.

The image sensor 124 may be configured to detect light of any suitablewavelength, including but not limited to infrared and visiblewavelengths. To assist in detecting objects placed on display screen106, the image sensor 124 may further include an illuminant 126 such asone or more light emitting diodes (LEDs) configured to produce infraredor visible light to illuminate a backside of display screen 106. Lightfrom illuminant 126 may be reflected by objects placed on display screen106 and then detected by image sensor 124. Further, an infrared bandpass filter 127 may be utilized to pass light of the frequency emittedby the illuminant 126 but prevent light at frequencies outside of theband pass frequencies from reaching the image sensor 124, therebyreducing the amount of ambient light that reaches the image sensor 124.

While described herein in the context of an optical touch-sensitivesystem, the embodiments described herein also may be used with any othersuitable type of touch-sensitive input system and with any suitable typeof computing device. Examples of other such systems include, but are notlimited to, capacitive and resistive touch-sensitive inputs. Further,while depicted schematically as a single device that incorporates thevarious components described above into a single unit, it will beunderstood that the touch-sensitive display 102 also may comprise morethan one discrete physical parts or units connected as a system bycables, wireless connections, network connections, etc. It will beunderstood that the term “computing device” may include any device thatelectronically executes one or more programs, such as a user interfaceprogram. Such devices may include, but are not limited to, personalcomputers, laptop computers, servers, portable media players, hand-helddevices, cellular phones, and microprocessor-based programmable consumerelectronic and/or appliances.

FIG. 1 also depicts a hand 130 with a finger placed on display screen106. Light from the illuminant 126 reflected by the finger may bedetected by image sensor 124, thereby allowing the touch of the fingerto be detected on the screen. While shown in the context of a finger, itwill be understood that any other suitable manipulator or manipulators(e.g. one or more styluses, paint brushes, etc.) may be used to interactwith computing device 100.

FIG. 2 illustrates an embodiment of a graphical user interface window200 that may be displayed on the touch-sensitive display 102. Graphicaluser interface window 200 may be used to display a scrollable list ofitems 204 in the graphical user interface window 200. FIG. 2 alsoillustrates an embodiment of a first touch gesture 206 made over thescrollable list of items 204. Where the scrollable list of items isdisplayed in a graphical user interface window, as illustrated in FIG.2, a touch gesture performed anywhere over the window may be consideredto be over the list of items, and therefore be effective to manipulatethe list of items. While described in the context of a graphical userinterface application window, it will be understood that a list asdisclosed herein may be displayed in any other suitable environment on agraphical user interface, including but not limited to a desktop region,etc.

To initiate the first touch gesture displayed in FIG. 2, a user maytouch the display with one or more fingers (one is illustratedschematically at 208 in FIG. 2) or other manipulators, and then move thefingers or manipulators across the touch-sensitive display, as indicatedby arrow 210, along a path 212 within a predetermined range ofdirections. Each touch may be referred to herein as a “touch input”.While only a single touch input is depicted, it will be understood thattwo or more touch inputs may be performed to execute the first touchgesture. A first touch gesture comprising two touch inputs isillustrated in FIGS. 6 and 7, discussed below.

In response to the first touch gesture 206, the scrollable list of items204 in the graphical user interface window 200 is scrolled, asillustrated in FIG. 3, along a same direction as the first touch gesture(or a component of the direction of the first touch gesture). In someembodiments, a rate of scrolling may have a 1:1 relationship to the rateof the first touch gesture. For example, if the user slides a fingerupwardly a distance 6 cm, the list will move the same distance at thesame rate of speed. It will be understood that the term “scroll rate” asused herein represents a distance that a displayed list item movesrelative to a distance that a finger or other manipulator (or group offingers or other manipulators) moves on the display.

Scrolling via the illustrated first gesture may allow a user toaccurately and precisely scroll to specific items in the list of items204. However, for long lists, scrolling between distant items in thelist may be cumbersome using the illustrated first gesture. Further, insome situations, a user may wish to zoom in on a portion of a list, forexample, to more easily view text and/or images in a list item.Therefore, additional figures herein show examples of other touchgestures that may be used to adjust a zoom and/or scrolling rate of alist on a graphical user interface.

FIGS. 4 and 5 illustrate an embodiment of a second, multi-touch gesturethat may be made over the scrollable list of items to change a displayedrange of a list (i.e. a number of items in the list that are displayedat one time). This input and operation may be referred to herein as a“zoom input” or a “zoom operation” or the like. Referring first to FIG.4, the second, multi-touch gesture may be performed by touching thedisplay with first and second manipulators, 216 and 218 respectively, atlocations over the list, and then moving the fingers or manipulatorsacross the touch-sensitive display in directions 220, 222 that change adistance between the two manipulators. If a direction of a path 224along which the change in distance occurs is within a predeterminedrange of directions, then the gesture may be interpreted as a zoomgesture, and a displayed range of the list may be modified such thatfewer items are displayed, as illustrated in FIG. 5. In this way, a usermay facilitate generation of a more detailed view of the list, enlargingrich content included in the list. While shown in the context of twomanipulators, it will be appreciated that the second, multi-touch inputmay be performed with more than two touch inputs. For example, wherethree or more touches are used in a gesture, an average or maximumdistance between the touches may be used to determine a direction ofmovement and a magnitude of change to apply to the range of contentdisplayed in the list.

As described above, the first touch gesture and second, multi-touchgesture may be detected by determining whether a path of a gesture fallswithin predetermined ranges of directions. Any suitable ranges may beused. In some embodiments, the directions of the first touch gesture maybe within a range that is transverse and non-overlapping compared to therange of directions of the second touch gesture. In one more specificembodiment in which the list is a one-dimensional list (i.e. scrollablealong a single scroll axis, whether vertical, horizontal, or other), anangular range for the first touch gesture may extend forty five degreesto each side of a direction parallel to the scroll axis in bothdirections along the scroll axis. Likewise, an angular range for thesecond, multi-touch gesture may extend forty five degrees to each sideof a direction perpendicular to the direction of the scroll axis. Inthis manner, the range of directions for the first touch gestureoccupies two opposite quadrants of an “X” shape that each bisect thescroll axis (i.e. the direction along which scrolling occurs), while therange of directions for the second touch gesture occupies the other twoquadrants of the “x” shape. In other embodiments, the ranges ofdirections for the first and second gestures may overlap, and may haveany other suitable angular ranges. Further, in yet other embodiments,once a second, multi-touch zoom gesture has been detected and is inprogress, a user may rotate the direction of the gesture to a directionoutside of the range of directions used to detect the second,multi-touch gesture, and even to a direction parallel to the directionof scrolling, while continuing the gesture without disrupting thezooming operation.

As described above, the second, multi-touch gesture also may beconfigured to adjust a rate of scrolling relative to a rate of motion ofa touch or touches used to perform the first touch gesture. For example,as shown in FIGS. 6-7, a two-finger version of the first touch gestureis illustrated as being performed on the zoomed list of FIG. 5. As shownin FIG. 7, the first touch gesture is shown to cause scrolling in whichthe ratio of the list scrolling rate to the gesture motion rate isgreater than 1:1. In other embodiments, a zoom-in operation may cause ascrolling rate to decrease.

FIGS. 8-9 illustrate the use of a second, multi-touch gesture toincrease a displayed range of a list, and also to zoom-out theappearance of items in the list. As illustrated, two touches are pinchedtogether along a direction transverse to the scrolling direction of thelist to perform the second, multi-touch gesture, thereby increasing thedisplayed range of the list (e.g. zooming out).

In some embodiments, a user may perform the first and second gestures ina temporally overlapping manner by, for example, moving two touchesalong a scrolling direction while also changing a distance between thetouches. The use of temporally overlapping first and second gesturesallows a user to both scroll through a list, and change a zoom and/orscroll rate of the list, in a combined gesture. Likewise, either gesturemay also be performed separately from the other to perform desiredmanipulations of a list on a user interface. In either case, thedepicted gestures are configured to correspond to the resultingmanipulations of the list in an intuitive manner. In this manner, a usermay quickly and easily learn to manipulate lists displayed on agraphical user interface.

Upon completion of a second, multi-touch gesture to zoom in or zoom outof a list view (i.e. after the fingers or other manipulators are liftedfrom the touch-sensitive display), the list either may revertautomatically to a default value for the displayed range and/, or mayremain in the new zoom state. For example, an automatic reversion (i.e.non-persistent zoom) may be used where it is desired to allow a user totemporarily magnify or reduce a size of a list for scrolling precisionor speed. Likewise, a persistent zoom may be used where it is desired toallow a user to choose between different list views that containdifferent amounts of detail, different items of content, etc. Examplesof lists that display different content at different views are describedin more detail below. Further, in some embodiments, the displayed rangeof list items and/or scrolling rate may be changed in a continuouslycontrollable manner in response to the second, multi-touch input, whilein other embodiments, the displayed range of list items and/or scrollingrate may be adjusted in discrete steps.

FIGS. 10-12 illustrate an example of a method that may be used to detectthe first and second touch gestures. It will be appreciated that othersuitable touch input and touch gesture detection techniques may be usedin other embodiments. Referring first to FIG. 10, positions of a firsttouch input 226 and a second touch input 228 are mapped with x and ycoordinates that correspond, for example, to average locations 230 and232, respectively, of the areas occupied by the first touch input 226and the second touch input 228. In other embodiments the coordinates ofthe touch input may correspond to other suitable positions within thearea of each touch input. Next, a “center of mass” 234 (i.e. averagelocation) of the detected touches is determined, and first and secondaxes 235 and 236 that bisect the center of mass 234 and are arrangedtransverse to a direction of a scrolling axis 237. Axes 235 and 236define left, right, top and bottom angular quadrants located between theaxes, with reference to the orientation of FIG. 10 and relative to thescrolling axis 237.

As illustrated in FIG. 11, a first touch gesture is detected if the pathof the motion of the center of mass 234 is along a direction within thetop and bottom quadrants between axes 235 and 236 relative to thescrolling axis 237. On the other hand, if the path of the motion of thecenter of mass 234 is along a direction within the left and rightquadrants, then the motion is not determined to be a first touch gestureconfigured to cause scrolling, and no scrolling is performed inresponse. In the depicted embodiment, the motion of center of mass 234is shown to be parallel to the direction of the scrolling axis 237, butit will be understood that any motion within the top and bottomquadrants displayed in FIGS. 10-11 will be interpreted as a scrollinginput. While the depicted embodiment shows axes 235 and 236 as beingangled approximately 45 degrees from the scrolling direction, it will beunderstood that they may have any other suitable angle relative to thescrolling direction. Further, while depicted in the context of atwo-touch gesture, it will be understood that a first touch gestureconfigured to cause scrolling of a list may be performed with anysuitable number of touch inputs, whether a single touch input, or morethan two touch inputs.

Next referring to FIG. 12, a second, multi-touch gesture 214 configuredto change a displayed range of the list is detected if multiple touchesare depicted, and a distance between the touch inputs 226 and 228changes along a direction within the left and the right quadrantsdefined by axes 235 and 236. In FIG. 12, the direction along which thedistance between the touch inputs 226 and 228 changes, shown at 238, iswithin the left and right quadrants defined by axes 235 and 236.Therefore, this change in distance is determined to be a second,multi-touch input, and the displayed range of the list is adjustedaccordingly.

The displayed range of a list may be changed in any suitable manner inresponse to a zoom input. Referring briefly back to FIGS. 4 and 5, insome embodiments, the items in the list may be scaled in size inresponse to the second, multi-touch gesture. In other embodiments, asshown in FIGS. 13 and 14, the items may be rearranged within the list tofit within the new dimensions of the list, without themselves beingscaled correspondingly. As can be seen in FIGS. 13 and 14, when a widthof the list changes in response to a zoom operation, each text item inthe list is rearranged to fit within the field. It will be appreciatedthat a zoom operation may cause the size of the list fields to beadjusted either in height, width, or both height and width.

In some embodiments, rearranging the item in a list in response to asecond, multi-touch input may include re-populating or de-populating anitem with different fields or elements. For example, an item in the listmay include various elements, such as icons, text such as metadata,images, etc., depending upon the scale at which the item in the list isshown. Where the item is shown in at a relatively closer zoom, each listitem may contain more populated elements, whereas fewer elements may beused at relatively farther zooms. FIGS. 15 and 16 illustrate one exampleof an embodiment in which list items are populated or depopulateddepending upon a zoom at which the list item is shown. As depicted, asecond, multi-touch gesture in which first and second touches are spreadapart is used to expand list item 242 such that list item 242 isre-populated with additional text 246, such as metadata regarding thelist item, as well as an icon 248. Likewise, an inverse gesture in whichfirst and second touches are brought together may be used to depopulatethe list items. In this way, list item content may be revealed or hiddenas desired through the use of the second, multi-touch gesture.

In the embodiments discussed above, each depicted list is shown as beingscrollable in a vertical direction. However, it will be understood thatthe concepts disclosed herein also may be used with horizontallyscrolled lists, an embodiment of which is shown in FIG. 17, or with anyother suitable scrollable list.

Referring briefly to the discussion above, FIGS. 2 and 3 show the firstgesture being used to scroll a list with a 1:1 correspondence in gesturemovement compared to list movement. FIGS. 18 and 19 illustrate anexample of non-1:1 scrolling that may be used in some embodiments toallow a user to quickly browse through a long list with a singlegesture. As described above, a user may perform a second, multi-touchgesture in which a first touch and a second touch are brought togetherto increase a displayed range of a list. Upon performing such a gesture,in some embodiments, a user may then be able to scroll through an entirelist, represented schematically at 250 in FIGS. 18 and 19, by moving asingle touch from a first side of the user interface window to anopposite side of the user interface window. In various embodiments, thedistance that the first touch gesture is moved to cause scrollingthrough an entirety of a list may either be less than or equal to avertical or horizontal length of the user interface window, dependingupon any acceleration parameters applied in response to the gesture. Itwill be understood that this capability may be utilized in embodimentswhere scrolling occurs along the same direction as the gesture and inembodiments where scrolling occurs in an opposite direction to thegesture.

In some embodiments, a user interface may be configured to react to afirst touch gesture with inertial scrolling characteristics. Forexample, if a user performs a first touch gesture at relatively highrate of gesture speed, and/or accelerates motion throughout a gesture, ascrollable list of items may continue scrolling in an inertial mannereven after completion of the first touch gesture. The inertialcharacteristics displayed in response to a gesture may be dependent uponvarious factors, including but not limited to a size of a list, aspeed/acceleration/length of the gesture, characteristics of anapplication used to display the list, etc.

FIG. 20 shows an embodiment of a method 2000 for controlling a computingdevice having a touch-sensitive display. Method 2000 comprises, at 2002,displaying a scrollable list of items on the touch-sensitive display,and, at 2004, detecting a first touch gesture and a second, multi-touchgesture over the scrollable list of items. The gestures may or may notbe detected at overlapping time intervals. In some embodiments, themotion of the first touch gesture may be along a direction of thescrolling, while the motion of the second, multi-touch gesture may betransverse to the direction of scrolling, as shown in FIG. 12 anddiscussed above. In other embodiments, the first touch gesture may bealong a path within a first range of directions, while the second touchgesture may be along a path within a second range of directions.

Continuing with FIG. 20, method 2000 next comprises, at 2006, scrollingthe scrollable list of items, at a rate proportional to a rate ofmovement of the first touch gesture, and, at 2008, adjusting a displayedrange of the scrollable list of items displayed on the touch-sensitivedisplay in response to the second, multi-touch gesture. In someembodiments, as shown at 2010, the method may comprise adjusting a rateof scrolling caused by the first touch gesture in response to thesecond, multi-touch gesture.

Utilizing the above-described embodiments, a user of a multi-touch userinterface may seamlessly navigate through longer lists by increasing adisplayed range of list items without performing multiple, repetitivegestures. Further, a user may transition easily between more detailedand less detailed views of basic list items via smooth, intuitivegestures. The above-described embodiments further allow a user toefficiently utilize touches on a touch-sensitive display to performmultiple input functions during each contact instance. It will beunderstood that the term “computing device” as used herein may refer toany suitable type of computing device configured to execute programs.Such computing device may include, but are not limited to, a mainframecomputer, personal computer, laptop computer, portable data assistant(PDA), computer-enabled wireless telephone, networked computing device,combinations of two or more thereof, etc. As used herein, the term“program” refers to software or firmware components that may be executedby, or utilized by, one or more computing devices described herein, andis meant to encompass individual or groups of executable files, datafiles, libraries, drivers, scripts, database records, etc. It will beappreciated that a computer-readable storage medium may be providedhaving program instructions stored thereon, which upon execution by acomputing device, cause the computing device to execute the methodsdescribed above and cause operation of the systems described above.

It will further be understood that the embodiments of touch-sensitivedisplays depicted herein are shown for the purpose of example, and thatother embodiments are not so limited. Furthermore, the specific routinesor methods described herein may represent one or more of any number ofprocessing strategies such as event-driven, interrupt-driven,multi-tasking, multi-threading, and the like. As such, various actsillustrated may be performed in the sequence illustrated, in parallel,or in some cases omitted. Likewise, the order of any of theabove-described processes is not necessarily required to achieve thefeatures and/or results of the exemplary embodiments described herein,but is provided for ease of illustration and description. The subjectmatter of the present disclosure includes all novel and nonobviouscombinations and subcombinations of the various processes, systems andconfigurations, and other features, functions, acts, and/or propertiesdisclosed herein, as well as any and all equivalents thereof.

The invention claimed is:
 1. A computing device, comprising: atouch-sensitive display; a processor; and memory comprising code storedthereon executable by the processor to: display a scrollable list ofitems in a graphical user interface window on the touch-sensitivedisplay, the scrollable list of items including a plurality ofsimultaneously displayed items, the simultaneously displayed itemsspaced apart from one another and each item including one or more of anicon, text, and an image; detect a first touch gesture over thescrollable list of items on the touch-sensitive display in the graphicaluser interface window, and in response to detecting the first touchgesture over the scrollable list of items, to scroll the scrollable listof items in the graphical user interface window on the touch-sensitivedisplay by changing a position of each of the plurality ofsimultaneously displayed items in the graphical user interface window;and detect a second, multi-touch gesture over the scrollable list ofitems on the touch-sensitive display, and in response to detecting thesecond, multi-touch gesture over the scrollable list of items, to adjusta displayed range of the scrollable list of items in the graphical userinterface window.
 2. The computing device of claim 1, further comprisingcode executable by the processor to adjust, in response to the second,multi-touch gesture, a rate of scrolling caused by the first touchgesture.
 3. The computing device of claim 2, further comprising codeexecutable to revert the rate of scrolling caused by the first touchgesture to a default value upon completion of the second, multi-touchgesture.
 4. The computing device of claim 1, further comprising codeexecutable to revert the displayed range of the scrollable list of itemsto a default value in response to completion of the second, multi-touchgesture.
 5. The computing device of claim 1 wherein the second,multi-touch gesture comprises a change in distance between two or moretouch inputs over the scrollable list of items.
 6. The computing deviceof claim 5, wherein the change in distance between two or more touchinputs is along a path having a direction transverse to a direction ofscrolling.
 7. The computing device of claim 1, wherein the code isexecutable to allow adjustment of the displayed range of the scrollablelist in a continuous manner.
 8. The computing device of claim 1, whereineach item in the list is scaled in size in response to the second,multi-touch gesture.
 9. The computing device of claim 1 wherein eachitem in the list comprises one or more fields, and wherein each item inthe list is rearranged in response to the second, multi-touch gesture.10. The computing device of claim 9, wherein, before rearranging, eachitem in the list comprises a first non-zero set of information abouteach list item; and wherein rearranging each item in the list comprisesadding additional information such that each item in the list comprisesa second, different set of information about each list item afterrearranging.
 11. The computing device of claim 1, wherein the firsttouch gesture comprises a touch input that is moved along a path havinga direction within a first range of directions, and the second,multi-touch gesture comprises a change in distance between multipletouch inputs that occur along a direction within a second range ofdirections.
 12. A computing device, comprising: a touch-sensitivedisplay; a processor; and memory comprising code stored thereonexecutable by the processor to: display a scrollable list of items in agraphical user interface window on the touch-sensitive display, thescrollable list of items including a plurality of simultaneouslydisplayed text items arranged in a column; detect a first touch gestureover the scrollable list of items on the touch-sensitive display in thegraphical user interface window and in response to detecting the firsttouch gesture, to scroll the scrollable list of items on thetouch-sensitive display by changing a position of each of the pluralityof simultaneously displayed text items at a scroll rate proportional tothe first touch gesture, the first touch gesture comprising motion alonga path within a first range of directions; and detect a second,multi-touch gesture over the scrollable list of items on thetouch-sensitive display in the graphical user interface window and notover any underlying zooming or scrolling controls and, in response todetecting the second, multi-touch gesture, to adjust a displayed rangeof the scrollable list of items, a size of the displayed text items inthe scrollable list of items, and a proportional correspondence betweena rate of movement of the first touch gesture and the scroll rate,wherein the second, multi-touch gesture comprises motion along a pathwithin a second range of directions transverse to the first range ofdirections.
 13. The computing device of claim 12, further comprisingcode executable to revert the scroll rate and the displayed range of thescrollable list of items to default values upon completion of thesecond, multi-touch gesture.
 14. The computing device of claim 13,wherein a direction of scrolling caused by the first touch gesture isreversed responsive to the second, multi-touch gesture.
 15. Thecomputing device of claim 12 wherein the code is executable to adjustthe displayed range of the scrollable list of items in discrete steps.16. The computing device of claim 12 wherein the proportionalcorrespondence between the rate of movement of the first touch gestureand the scroll rate is adjusted via the second, multi-touch gesture suchthat a single first touch gesture can be used to scroll through anentirety of the list of scrollable items.
 17. A method of operating acomputing device, the computing device comprising a touch-sensitivedisplay, the method comprising: displaying a scrollable list of items onthe touch-sensitive display while omitting display of a scroll barassociated with the scrollable list of items, the scrollable list ofitems including a plurality of simultaneously displayed items; detectinga first touch gesture and a second, multi-touch gesture over thescrollable list of items at overlapping time intervals; in response todetecting the first touch gesture over the scrollable list of items,scrolling the scrollable list of items by changing a position of each ofthe plurality of simultaneously displayed items at a rate proportionallycorresponding to the first touch gesture; and in response to detectingthe second, multi-touch gesture over the scrollable list of items,adjusting a range of the scrollable list of items displayed on thetouch-sensitive display.
 18. The method according to claim 17 furthercomprising adjusting the rate of scrolling caused by the first touchgesture in response to the second, multi-touch gesture.
 19. The methodaccording to claim 17 wherein a motion of the first touch gesture isalong a direction of scrolling.
 20. The method according to claim 19wherein a motion of the second, multi-touch gesture is transverse to thedirection of scrolling.